How Do So ware Developers Identify Design Problems?

نویسندگان

  • Leonardo Sousa
  • Roberto Oliveira
  • Alessandro Garcia
  • Jaejoon Lee
  • Tayana Conte
  • Willian Oizumi
  • Rafael de Mello
  • Adriana Lopes
  • Natasha Valentim
  • Edson Oliveira
  • Carlos Lucena
چکیده

When a software design decision has a negative impact on one or more quality attributes, we call it a design problem. For example, the Fat Interface problem indicates that an interface exposes non-cohesive services. Thus, clients and implementations of this interface may have to handle with services that they are not interested. A design problem such as this hampers the extensibility and maintainability of a software system. As illustrated by the example, a single design problem often a ects several elements in the program. Despite its harmfulness, it is di cult to identify a design problem in a system. It is even more challenging to identify design problems when the source code is the only available artifact. In particular, no study has observed what strategy(ies) developers use in practice to identify design problems when the design documentation is unavailable. In order to address this gap, we conducted a qualitative analysis on how developers identify design problems in two di erent scenarios: when they are either familiar (Scenario 1) or unfamiliar (Scenario 2) with the analyzed systems. Developers familiar with the systems applied a diverse set of strategies during the identi cation of each design problem. Some strategies were frequently used to locate code elements for analysis, and other strategies were frequently used to con rm design problems in these elements. Developers unfamiliar with the systems relied only on the use of code smells along the task. Despite some di erences among the subjects from both scenarios, we noticed that developers often search for multiple indicators during the identi cation of each design problem.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

What Makes Coding Activities Challenging?

What do developers do during coding activities, and how can tools more effectively support these activities? What questions are hard to answer, why does investigating and debugging code take so long, and why do bugs occur? The goal of my research is to identify the most important problems developers face using human-computer interaction techniques and use software engineering techniques to desi...

متن کامل

Developing a Taxonomy for Electronic Portfolios

Ongoing educational discussions on e-portfolios assume that the appropriate use of this relatively new so ware tool can improve the e ciency and e ectiveness of learning. A large and growing body of literature examines the various features of the so ware and the di erent kinds of application scenarios that exist for instruction and education. Given this explosion of interest, it should be ...

متن کامل

Towards Eective Adoption of Security Practices

Security tools guide so‰ware developers to identify potential vulnerabilities in their codes. However, the use of security tools is not common among developers. Œe goal of this research is to develop a framework for modeling the adoption of security practices in so‰ware development, and explore various sanctioning mechanisms in promoting greater adoption of these practices among developers. We ...

متن کامل

A Large Scale Investigation of Obfuscation Use in Google Play

Android applications are frequently plagiarized or maliciously repackaged, and so‰ware obfuscation is a popular protection against these practices. In this study, we present the €rst comprehensive analysis of the use and challenges of so‰ware obfuscation in Android applications. We surveyed 308 Google Play developers about their experiences with obfuscation, €nding that the free ProGuard so‰war...

متن کامل

Digitalization of Swedish Government Agencies - A Perspective Through the Lens of a Software Development Census

So‰ware engineering is at the core of the digitalization of society. Ill-informed decisions can have major consequences, as made evident in the 2017 government crisis in Sweden, originating in a data breach caused by an outsourcing deal made by the Swedish Transport Agency. Many Government Agencies (GovAgs) in Sweden are rapidly undergoing a digital transition, thus it is important to overview ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017